package com.back.service;

import com.back.dto.LoginDTO;
import com.back.entity.User;
import com.back.vo.LoginResultVO;
import com.baomidou.mybatisplus.extension.service.IService;

import javax.servlet.http.HttpServletRequest;

/**
 * <p>
 *  服务类
 * </p>
 *
 * @author liyang
 * @since 2025-04-26
 */
public interface IUserService extends IService<User> {
    
    /**
     * 用户登录
     *
     * @param loginDTO 登录信息
     * @param request HTTP请求
     * @return 登录结果
     */
    LoginResultVO login(LoginDTO loginDTO, HttpServletRequest request);
    
    /**
     * 刷新令牌
     *
     * @param refreshToken 刷新令牌
     * @return 新的登录结果
     */
    LoginResultVO refreshToken(String refreshToken);
    
    /**
     * 用户登出
     *
     * @param userId 用户ID
     * @return 是否登出成功
     */
    boolean logout(Long userId);
}
